package cn.tedu.tmall.admin.mall.dao.persist.repository;

import cn.tedu.tmall.admin.mall.pojo.entity.Goods;
import cn.tedu.tmall.admin.mall.pojo.vo.GoodsListItemVO;
import cn.tedu.tmall.admin.mall.pojo.vo.GoodsStandardVO;
import cn.tedu.tmall.common.pojo.po.GoodsSearchPO;
import cn.tedu.tmall.common.pojo.vo.PageData;

import java.util.List;

public interface IGoodsRepository {

    GoodsStandardVO getStandardById(Long id);

    /**
     * 插入商品数据
     *
     * @param goods 商品数据
     * @return 受影响的行数
     */
    int insert(Goods goods);

    /**
     * 根据ID修改商品数据
     *
     * @param goods
     * @return
     */
    int updateById(Goods goods);

    /**
     * 查询商品列表
     *
     * @return list
     */
    PageData<GoodsListItemVO> list(Integer pageNum,Integer pageSize);

    /**
     * 根据类别查询商品列表
     *
     * @param categoryId 商品类别的ID
     * @return 商品列表
     */
    PageData<GoodsListItemVO> listByCategory(Long categoryId, Integer pageNum,Integer pageSize);

    PageData<GoodsSearchPO> listSearch(Integer pageNum,Integer pageSize);

}
